// house_pkg/pages/locate/index.ts
// 导入腾讯位置服务实例
import QQMap from '../../../utils/qqmap'

Page({
  data: {
    points: []
  },
  onLoad() {
    // 获取用户位置
    this.getLocation()
  },
  // 重新定位（获取新位置）
  async chooseLoction() {
    // 调用小程序API 获取新位置
    const {latitude, longitude} =  await wx.chooseLocation()
    console.log('终点位置：',latitude, longitude)
    // 获取新位置的附近的位置
    this.getPoint(latitude, longitude)
  },

  // 获取用户位置
  async getLocation() {
    // 调用小程序 API 获取用户位置
    const {latitude, longitude} = await wx.getLocation()
    console.log('起点位置：',latitude, longitude)
    // 获取周边小区
    this.getPoint(latitude, longitude)
  },
  getPoint(latitude, longitude) {
    // 显示loading
    wx.showLoading({
      title: '正在加载中',
    })

    // 逆地址解析（根据经纬度来获取地址）
    QQMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: ({result: {address}}) => {
        // console.log(result)
        // 更新数据
        this.setData({address})
      }
    })

    // search 是实现地点搜索功能的方法
    QQMap.search({
      keyword: '住宅小区', //搜索关键词
      location: [latitude, longitude].join(','),//设置周边搜索中心点
      page_size: 5,
      success: (result) => {
        // console.log(result)
        // 过滤器掉多余的数据
        const points = result.data.map(({id, title, _distance}) => {
          return {id, title, _distance}
        })
        // 渲染数据
        this.setData({points}) 
      },
      // 接收返回错误的信息
      fail: (err) => {
        console.log(err.message)
      },
      complete: () => {
        // 隐藏loading
        wx.hideLoading()
      }
    })
  }
})